package com.turnengine.client.local.action.bean;

import com.javabi.codebuilder.generated.IGeneratedBean;
import com.turnengine.client.local.action.enums.ActionTargetType;
import com.turnengine.client.local.unit.enums.UnitRelation;
import com.turnengine.client.local.unit.enums.UnitType;

/**
 * The I Action Target.
 */
public interface IActionTarget extends IGeneratedBean, Comparable<IActionTarget> {

	/**
	 * Returns the action id.
	 * @return the action id.
	 */
	int getActionId();

	/**
	 * Returns the target type.
	 * @return the target type.
	 */
	ActionTargetType getTargetType();

	/**
	 * Returns the type.
	 * @return the type.
	 */
	UnitType getType();

	/**
	 * Returns the relation.
	 * @return the relation.
	 */
	UnitRelation getRelation();

	/**
	 * Sets the action id.
	 * @param actionId the action id to set.
	 */
	void setActionId(int actionId);

	/**
	 * Sets the target type.
	 * @param targetType the target type to set.
	 */
	void setTargetType(ActionTargetType targetType);

	/**
	 * Sets the type.
	 * @param type the type to set.
	 */
	void setType(UnitType type);

	/**
	 * Sets the relation.
	 * @param relation the relation to set.
	 */
	void setRelation(UnitRelation relation);
}
